ARMEdit_TalkTX (SWI &4BC43) | |||
Send a message to another client task | |||
On entry: | R0 = | client handle for this task | |
R1 = | either the ID or client handle for the recipient (if R2 not 0) | ||
R2 = | pointer to block containing the message to send, or 0 to check if the buffer already contains a message | ||
On exit: | R2 = | pointer to message buffer, or 0 if no message is waiting to be delivered. | |
Interrupts: | Interrupt status is undefined Fast interrupts are enabled | ||
Processor mode: | Processor is in SVC mode | ||
Re-entrancy: | SWI is not re-entrant | ||
Use: |
Send a message to another task. The destination task can be specified using either it's ID or client handle. If the ID is specified then it will be offered to each matching task that polls it until it is acknowledged. A particular message is only offered to each task once. When sending messages to PC software (ID = 0) the handle should always be specified.
Note that the message buffer for each task can only contain a single message to send; if there is already a message waiting to be delivered then it is overwritten. When multiple clients are used, this SWI should first be called with R2 = 0 to check if a message is still waiting. Broadcast messages are never cleared automatically. | ||
Related SWIs: | ARMEdit_TalkStart, ARMEdit_TalkEnd, ARMEdit_TalkRX, ARMEdit_TalkAck, ARMEdit_TalkReply | ||
Related vectors: | None |
[Contents] [Up] | Copyright © Alexander Thoukydides, 2001 |